package io.gitee.sfch.chunmi.conf.listener;

import com.mybatisflex.annotation.AbstractInsertListener;
import io.gitee.sfch.chunmi.entity.TenantImmutableEntity;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;

/**
 * {@link TenantImmutableEntity} 新增时增加审计信息，和租户信息
 */
@Component
public class TenantImmutableEntityInsertListener extends AbstractInsertListener<TenantImmutableEntity> {

    @Resource
    private ImmutableEntityInsertListener insertListener;

    @Override
    public void doInsert(TenantImmutableEntity entity) {
        insertListener.doInsert(entity);
        // 允许跨租户新增数据
        // 不过这种场景还是通过走MQ后模拟登录处理会比较理想
        if (entity.getTenantId() == null) {
            entity.setTenantId(1L);
        }
    }

}
